<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div id="title">
        <button data-url="/center">个人中心</button>
        <button data-url="/news">新闻</button>
        <button data-url="/music">音乐</button>
        <div id="View"></div>
    </div>
    <script>
        const oBtns = document.querySelectorAll("#title button")
        const oView = document.getElementById("view");

        //1.首先创建1个路由表 规定路由的对应信息
        const routes = [
            { path: "./center", content: "我的主页我做主" },
            { path: "./news", content: "明明我们看的新闻是一样的,为什么我要花钱看" },
            { path: "./music", content: "周董发新歌了在几个月前" }
        ]

        //遍历s所有的btns 绑定点击事件
        for (var i = 0; i < oBtns.length; i++) {
            oBtns[i].onclick = function () {
                //获取当前路由跳转的按钮上保存的path信息 然后改变地址栏地址的hash值

                location.hash = this.dataset.url
            }
        }
        //我们要通过onhashchange事件 监听当前的url的hash值的变化
        window.onhashchange = function (e) {
            // console.log(e);

            //在event事件对象上拿到当前监听的新的hash地址  
            const newURL= e.newURL.split("#")[1]
            //拿到当前的hash和路由表中的path进行一一对比 更新对应的视图
            routes.forEach((route)=>{
                 if(route.path===newURL){
                    //更新视图
                    oView.textContent = route.content

                 }
            })
        }
    </script>
</body>

</html>